/**
 * Copyright @ 2000 ysten Co. Ltd. 
 * All right reserved.     
 * @author: wangmin
 * date: 2016-07-11     
 */
package com.task.service;

import java.util.List;
import java.util.Map;

import org.springframework.data.domain.Page;

import com.task.bean.EnumConstants;
import com.task.bean.EnumConstants.ChildTaskStatus;
import com.task.entity.ChildTask;

public interface IChildTaskService {

    Page<ChildTask> findTaskList(Map<String, Object> searchParams, int pageNum, int rows);
    
    Page<ChildTask> findChildList(Map<String, Object> searchParams, int pageNum, int rows,String orderDirection,String orderField);

    Page<ChildTask> findMyTaskList(Map<String, Object> searchParams, int pageNum, int rows,String orderDirection,String orderField);

    ChildTask findById(Long id);

    void save(ChildTask childTask);
    
    void update(ChildTask childTask);
    
    /**
     * 生成唯一子任务编码
     * @param taskType
     * @return
     */
    String getChildTaskCode(ChildTask task);

    List<ChildTask> findByCondition(Map<String, Object> searchParams);

    Integer getCountByParentTaskId(Long parentTaskId);

	void delByParentTaskId(Long id);

    /**
     * 更新子任务状态
     * @param status
     * @param id
     */
	void updateStatus(ChildTaskStatus status, Long id);

    /**
     * 审核时更新状态
     * @param status
     * @param id
     */
    void updateWhileCheck(ChildTaskStatus status, Long id);
}
